Title: Year 12 / Computer Science / Practical / 12 - Software Development / 12.3 - Program Testing and Maintenance

Q: Describe what is meant by corrective maintenance
A: correcting identified errors, work required when program isnt working correctly due to logic or run time errors, errors may not be apparent for a long time, earlier corrective maintenance may cause errors

Q: Describe what is meant by adaptive maintenance
A: amending a program to enhance functionality or in response to specification changes, performs a function it wasnt originally designed to do

Q: Describe what is meant by perfective maintenance
A: modifying program to improve performance or maintainability, program runs satisfactorily, but can still be improved

Q: State what is meant by normal test data
A: typical data values, in range and should be accepted

Q: State what is meant by abnormal test data
A: data values that are out of range or shouldnt be accepted

Q: State what is meant by boundary test data
A: data values on boundary or extreme end of a range of normal data including values just within and outside boundary

Q: State 3 types of test data
A: normal, abnormal/erroneous, boundary/extreme

Q: State 3 types of errors
A: syntax, logic, runtime

Q: State what is meant by a syntax error
A: an error in which a program statement doesnt follow rules or grammar of a programming language

Q: State what is meant by a logic error
A: error in logic of a solution that causes it to not behave properly

Q: Describe what is meant by stub testing
A: stub is a simple module, written to replace each subroutine, has simple output to show that a call is made, used before code is completed

Q: Describe what is meant by integration testing
A: individually tested modules are joined to one program and tested to make sure modules interact correctly

Q: Describe what is meant by blackbox testing
A: compares actual results of program being run to expected results, only considers input and output and code is unknown, so viewed as being in a black box

Q: Describe what is meant by whitebox testing
A: tests every path and every line of code using suitable test data, tester views code

Q: Describe what is meant by dry run testing
A: code is manually traced, value of variable is manually followed to check if its used and updated as expected, used to identify logic errors but not execution errors

Q: Describe what is meant by walkthrough testing
A: test where code is reviewed carefully by developers peers, managers, team members, used to gather useful feedback to further develop code

Q: Describe what is meant by alpha testing
A: first round of testing, software tested in house by dedicated testers, programmers who pretend to be users, check requirements and deal with flaws

Q: Describe what is meant by beta testing
A: final round of testing, users test under realistic conditions and feedback obtained, checks if program meets requirements and performs as it should, problems reported to developer and corrected

Q: State what is meant by a run time error
A: an error that causes program execution to freeze or crash due to invalid operations or extreme conditions

Q: State an example of an arithmetic run time error
A: negative roots, division by 0

Q: State an example of an overflow run time error
A: variable holds a value thats too large

Q: State an example of an stack overflow run time error
A: no more space on stack

Q: State an example of a library run time error
A: program calls a function without importing the correct library

Q: State ways to minimise errors and faults in a program
A: use extensively tested library routines, modular programming, which breaks down problem into sub tasks, using good programming practice, using IDE features like type checking, auto complete, debugging features, dynamic syntax checks, context sensitive prompts

Q: State examples of debugging features
A: variables report window, single stepping, breakpoints

Q: State examples of good programming practice
A: sensible variable names, white space, indentation, comments